#include <iostream>
#include <string>
#include <vector>
#include <regex>
#include <algorithm>

std::string analyze_words(const std::string& input_str) {
    std::vector<std::string> words;
    std::string word;
    std::stringstream ss(input_str);

    while (ss >> word) {
        words.push_back(word);
    }

    if (words.size() <= 1) {
        return "Мало данных для анализа";
    }

    int uppercase_cyrillic_count = std::count_if(words.begin(), words.end(), [](const std::string& word) {
        return std::regex_match(word, std::regex("^[А-Я].*"));
    });

    int latin_symbol_count = std::count_if(words.begin(), words.end(), [](const std::string& word) {
        return std::regex_search(word, std::regex("[A-Za-z]"));
    });

    int short_word_count = std::count_if(words.begin(), words.end(), [](const std::string& word) {
        return word.size() <= 3;
    });

    auto max_length_word = *std::max_element(words.begin(), words.end(), [](const std::string& a, const std::string& b) {
        return a.size() < b.size();
    });

    int max_length = max_length_word.size();

    int words_with_hyphen_count = std::count_if(words.begin(), words.end(), [](const std::string& word) {
        return word.find('-') != std::string::npos;
    });

    return "Количество слов: " + std::to_string(words.size()) + "\n"
           + "Количество слов, начинающихся с заглавной кириллической буквы: " + std::to_string(uppercase_cyrillic_count) + "\n"
           + "Количество слов с латинскими символами: " + std::to_string(latin_symbol_count) + "\n"
           + "Количество слов длиной до 3 символов: " + std::to_string(short_word_count) + "\n"
           + "Самое длинное слово: " + max_length_word + "\n"
           + "Длина самого длинного слова: " + std::to_string(max_length) + "\n"
           + "Количество слов с символом дефиса: " + std::to_string(words_with_hyphen_count);
}

int main() {
    std::string input_str;
    std::cout << "Введите несколько слов, разделенных пробелом: ";
    std::getline(std::cin, input_str);

    std::cout << analyze_words(input_str) << std::endl;

    return 0;
}
